
#pragma once

#include "base/core/singleton.h"
#include "Common/TableDefine.h"


class TargetTargetCfg : public ManualSingleton <TargetTargetCfg>
{
	friend ManualSingleton <TargetTargetCfg>;
public:
	TargetTargetCfg();
	~TargetTargetCfg();
	bool Init(const char *szCfgFile, const char *szSplitChar);
	bool UnInit();
	void Clear();
	const TargetTargetCfgInfo *GetTargetTargetCfgInfo(int32_t id);
	const TargetTargetCfgMap *GetTargetTargetCfgMap() { return &m_TargetTargetCfgMap; }
private:
	TargetTargetCfgMap m_TargetTargetCfgMap;
};

#define  g_MakeTargetTargetCfgTable() (TargetTargetCfg::Instance())
#define  g_GetTargetTargetCfgTable() (TargetTargetCfg::GetInstance())
#define  g_DelTargetTargetCfgTable() (TargetTargetCfg::Destroy())